enum Variable {
    Integer(i32),
    StringType(String),
    Bool(bool),
}

impl Variable {
    fn show_type(&self) -> String {
        match self {
            Variable::Integer(i) => format!("integer: {}", i),
            Variable::StringType(s) => format!("string: \"{}\"", s),
            Variable::Bool(b) => format!("boolean: {}", b),
        }
    }
}

fn main() {
    let a = Variable::Integer(3);
    let b = Variable::StringType(String::from("whatever"));
    let c = Variable::Bool(true);
    println!("{}", a.show_type());
    println!("{}", b.show_type());
    println!("{}", c.show_type());
}
